from matplotlib import pyplot as plt
import random


# 设置支持中文显示
plt.rcParams["font.sans-serif"] = ['SimHei']

# 练习: 心率和时间的折线图
# 60 - 100
# 10点钟 每分钟对应的心率
# 1. 设置图大小
plt.figure(figsize=(20, 8), dpi=80)

# 2. 设置刻度x y
x = range(1, 61)
y = [random.randint(60, 100) for i in range(60)]
y2 = [random.randint(60, 100) for j in range(60)]

# 2.1 对生成的figure进行一致设置
plt.xlabel("时间")
plt.ylabel("心率")

# 2.1.1 准备x轴新刻度
new_x = [f"10点{i}分" for i in range(0, 60)]

# 2.2 调整y轴的刻度
plt.xticks(list(x), new_x, rotation=45)
plt.yticks(range(60, 101, 1))

# 2.3 显示网格
plt.grid()

# 3. 绘制
# 3.1 在绘制函数中, 我们可以指定一些设置, 比如线的颜色, 线的风格
plt.plot(x,
         y,
         color='r',
         linestyle='-',
         lw='3',
         marker='o',
         markerfacecolor='blue',
         markersize=10,
         alpha=0.7,
         label="lucy"
         )
plt.plot(x,
         y2,
         color='#AB82FF',
         linestyle='-',
         lw='3',
         marker='o',
         markerfacecolor='#AB82FF',
         markersize=10,
         alpha=0.7,
         label="lily"
         )
# 3.2 如果设置了label, 那么需要调用lend函数
plt.legend()

# 4. 显示
plt.show()
